#pragma once
#ifndef EMULATOR_H
#define EMULATOR_H

////////////////////////////////////////////////////////////////////////////////////////////////////

#include <iostream>
#include "NES.h"

////////////////////////////////////////////////////////////////////////////////////////////////////

class Emulator {
    public:
        static Emulator*    GetInstance         ();
        virtual             ~Emulator           ();
        void                LoadCart            ( const std::string & )const;
        void                Start               ()const;

    private:
                            Emulator            ();

        static Emulator*    m_Instance;
        NES*                m_NES;
};

////////////////////////////////////////////////////////////////////////////////////////////////////

#endif

////////////////////////////////////////////////////////////////////////////////////////////////////